Comparing Functional and Imperative Programming Languages on Classical Planning Problems

نویسنده

  • DE-AN HUANG
چکیده

1 SUMMARY In this project, we compare imperative (Python) and functional (Haskell) programming languages on solving the automated planning problems. Functional language is useful since the classical planning problem can be reduced to boolean satisfiability problem (SAT), where functional language and recursion provide a natural way of implementation. On the other hand, large-scale planning problems also suffer from the curse of dimensionality, where the efficiency of implementation plays a more important role. In this case, we might prefer imperative language. The goal of the project is thus to investigate the tradeoffs of functional and imperative programming on planning problems of different scales. Our results show that: (i) Recursion is a more natural way for classical planning, and thus functional programming is preferred qualitatively for implementation. (ii) On the other hand, iterative implementation is required for large-scale planning problem, where imperative language is preferred in terms of quantitative results. Furthermore, we explore the use of planning heuristics to alleviate the curse of dimensionality at scale and enable the functional language implementation to deal with large-scale planning.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

On the Benefits of Combining Functional and Imperative Programming for Multicore Software An Empirical Study Comparing Scala and Java

Recent multi-paradigm programming languages combine functional and imperative programming styles to make software development easier. Given today’s proliferation of multicore processors, parallel programmers are supposed to benefit from this combination, as many difficult problems can be expressed more easily in a functional style while others match an imperative style. However, due to a lack o...

متن کامل

An explorative study on applying functional language for approximation algorithms

Approximation algorithms are widely used for problems related to computational geometry, complex optimization problems, discrete min-max problems and NP-hard and space hard problems. Due to the complex nature of such problems, imperative languages are perhaps not the best-suited solution when it comes to their actual implementation. Functional languages like Haskell could be a good candidate fo...

متن کامل

Alma-0: an Imperative Language That Supports Declarative Programming Alma-0: an Imperative Language That Supports Declarative Programming

We describe here an implemented small programming language, called Alma-0, that augments the expressive power of imperative programming by a limited number of features inspired by the logic programming paradigm. These additions encourage declarative programming and make it a more attractive vehicle for problems that involve search. We illustrate the use of Alma-0 by presenting solutions to a nu...

متن کامل

Picat: A Logic-based Multi-paradigm Language

Picat is a new and interesting programming language, combing many different and exciting programming paradigms: logic programming, imperative programming, constraint programming, functional programming, tabling, and planning. This paper gives a personal discussion of some of Picat’s features with several code examples.

متن کامل

The Function, and Dysfunction, of Information Sources in Learning Functional Programming

Programmers experienced in using imperative languages can increasingly benefit from also knowing how to use functional languages. However, even if programmers have already mastered general programming constructs such as types and recursion, actually expressing these in a functional language can be challenging. In this paper, we present an observational study investigating what information sourc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017